home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 6 / The Arsenal Files 6 (Arsenal Computer).ISO / wildcat / catlist1.zip / CATLIST.WCX (.txt) < prev    next >
Wildcat! WCX  |  1996-03-07  |  22KB  |  843 lines

  1. '! Decompiled with wccNosy version 4.20f (freeware)
  2. '! Input File: in.wcx  22039 bytes  01/28/123  08:37:22pm
  3. '! Code Segment Size  :9114 bytes
  4. '! Data Segment Size  :5665 bytes
  5. '! String Segment Size:12925 bytes
  6. '! Compiled with WCC version 4.11
  7.  
  8.       Type Type26
  9.         s0 As String*30
  10.         s30 As String*6
  11.         s36 As String*30
  12.         s66 As String*79
  13.         s145 As String*79
  14.         s224 As String*79
  15.         s303 As String*25
  16.         s328 As String*25
  17.         s353 As String*25
  18.         s378 As String*25
  19.         s403 As String*3
  20.         s406 As String*15
  21.         s421 As String*15
  22.         s436 As String*15
  23.         s451 As String*20
  24.         s471 As String*30
  25.       End Type
  26.  
  27.       Declare Sub Sub919
  28.       Declare Sub Sub2204
  29.       Declare Sub Sub3172
  30.       Declare Sub Sub4082
  31.       Declare Sub Sub4409
  32.       Declare Sub Sub6927
  33.       Declare Sub Sub7408
  34.       Declare Sub Sub7670
  35.       Declare Function Func8629(l65534 As Long, l65532 As Long) As Integer
  36.  
  37.       Dim i4463 As Integer
  38.       Dim i4465 As Integer
  39.       Dim i4467 As Integer
  40.       Dim i4469 As Integer
  41.       Dim i4471 As Integer
  42.       Dim i4473 As Integer
  43.       Dim t26_4475 As Type26
  44.       Dim o4976 As Boolean
  45.       Dim s4977 As String
  46.       Dim s4981 As String
  47.       Dim s4985 As String
  48.       Dim s4989 As String
  49.       Dim l4993 As Long
  50.       Dim l4997 As Long
  51.       Dim i5001 As Integer
  52.       Dim s5003 As String
  53.       Dim ur5007 As UserRecord
  54.       Dim s5657 As String
  55.       Dim s5661 As String
  56.  
  57.       Dim l65528_ As Long '! Temporary
  58.       Dim s65532_ As String
  59.  
  60.       If Not ANSIEnabled = -1 Then
  61.         Print "SORRY THIS DOOR REQUIRES ANSI"
  62.         End 
  63.       End If
  64.    66 If Exists(ProgPath + "CATLIST.CFG") Then
  65.         Open ProgPath + "CATLIST.CFG" For Input As 1
  66.         Input #1, l4997
  67.         Input #1, s4977
  68.         Input #1, s4981
  69.         Input #1, s4985
  70.         Input #1, s4989
  71.         Close 1
  72.       Else
  73.   157   Cls 
  74.         Print "CATLIST.CFG NOT FOUND, ABORTING!!!"
  75.         WaitEnter 
  76.         ActivityLog "CATLIST.CFG NOT FOUND, CATLIST CAN NOT CONTINUE"
  77.         End 
  78.       End If
  79.   181 If User.SecLevel = s4981 Or User.SecLevel = s4985 Or User.SecLevel = s4989 Then
  80.         Print "SORRY YOU DON'T HAVE ACCESS TO THIS DOOR!"
  81.         WaitEnter 
  82.         End 
  83.       End If
  84.   252 ActivityLog "*** ENTERED CATLIST AT @TIME@ ***"
  85.       EnablePages 0
  86.       If Func8629(l4997, (162103)) = - 1 Then
  87.         i5001 = -1
  88.       Else
  89.   317   i5001 = 0
  90.       End If
  91.   323 If i5001 = -1 Then
  92.         s5003 = MakeWild.BBSName
  93.       Else
  94.   359   s5003 = "UNREGISTERED"
  95.       End If
  96.   368 Print DefColor
  97.       Cls 
  98.       Print "@00@              @03@▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@00@"
  99.       Print "@00@              @13@█@3B@┌─────────────────────────────────────────────@30@┐@13@█ @00@"
  100.       Print "@00@              @13@█@3B@│  @3E@CATList v1.0 @3F@- BBSLister for @3B@Wildcat! v4.1 @30@│@13@█ @00@"
  101.       Print "@00@              @13@█@3B@└@30@─────────────────────────────────────────────┘@13@█ @00@"
  102.       Print "@00@              @03@▀@13@▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ @00@"
  103.       Print "@00@" + Tab(22); "@0C@ (C)OPYRIGHT 1996 BY PAUL ELSON"
  104.       Print "@00@                           @03@▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@00@"
  105.       Print "@00@                           @03@█@3B@┌─────────────────@30@┐@03@█@13@ @00@"
  106.       Print "@00@                           @03@█@3B@│  @3E@A@3F@dd Record     @30@│@03@█@13@ @00@"
  107.       Print "@00@                           @03@█@3B@│  @3E@V@3F@iew Records   @30@│@03@█@13@ @00@"
  108.       Print "@00@                           @03@█@3B@│  @3E@L@3F@ist Records   @30@│@03@█@13@ @00@"
  109.       Print "@00@                           @03@█@3B@│  @3E@E@3F@dit Record    @30@│@03@█@13@ @00@"
  110.       Print "@00@                           @03@█@3B@│  @3E@K@3F@ill Record    @30@│@03@█@13@ @00@"
  111.       Print "@00@                           @03@█@3B@│  @3E@D@3F@ownload List  @30@│@03@█@13@ @00@"
  112.       Print "@00@                           @03@█@3B@│  @3E@I@3F@nformation    @30@│@03@█@13@ @00@"
  113.       Print "@00@                           @03@█@3B@│  @3E@Q@3F@uit to BBS    @30@│@03@█@13@ @00@"
  114.       Print "@00@                           @03@█@3B@└@30@─────────────────┘@03@█@13@ @00@"
  115.       Print "@00@                           @03@▀@13@▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ @0E@@00@"
  116.       Print
  117.       Print Tab(25); "@01@REGISTERED TO: @0C@" + s5003
  118.       Do
  119.   579   s5661 = InKey(1213417543)
  120.         s65532_ = UCase(s5661)
  121.         If s65532_ = "A" Then
  122.           Sub919
  123.           GoTo 368
  124.         Else
  125.   637     If s65532_ = "V" Then
  126.             Sub2204
  127.             GoTo 368
  128.           Else
  129.   672       If s65532_ = "L" Then
  130.               Sub4082
  131.               GoTo 368
  132.             Else
  133.   707         If s65532_ = "E" Then
  134.                 Sub4409
  135.                 GoTo 368
  136.               Else
  137.   742           If s65532_ = "K" Then
  138.                   Sub3172
  139.                   GoTo 368
  140.                 Else
  141.   777             If s65532_ = "D" Then
  142.                     Sub7670
  143.                     GoTo 368
  144.                   Else
  145.   812               If s65532_ = "I" Then
  146.                       Sub7408
  147.                       GoTo 368
  148.                     Else
  149.   847                 If s65532_ = "Q" Then
  150.                         Sub6927
  151.                         End 
  152.                         GoTo 877
  153.                       End If
  154.                     End If
  155.                   End If
  156.                 End If
  157.               End If
  158.             End If
  159.           End If
  160.         End If
  161.   877 Loop
  162.  
  163. '! Called 1 time
  164.       Sub Sub919
  165.         MorePrompt(0)
  166.         Cls 
  167.         Print "@00@              @03@▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@00@"
  168.         Print "@00@              @13@█@3B@┌─────────────────────────────────────────────@30@┐@13@█ @00@"
  169.         Print "@00@              @13@█@3B@│  @3E@CATList v1.0 @3F@- BBSLister for @3B@Wildcat! v4.1 @30@│@13@█ @00@"
  170.         Print "@00@              @13@█@3B@└@30@─────────────────────────────────────────────┘@13@█ @00@"
  171.         Print "@00@              @03@▀@13@▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ @00@"
  172.         Print
  173.         Print "@3F@ ┌──────────────────────────────────────────────────────────────────────────@30@┐ @07@"
  174.         Print "@3F@ │ @30@BBS Name [                              ]    Number of Nodes [   ]       @30@│ @07@"
  175.         Print "@3F@ │ @30@Phone Number [            ]                  Max Baud Rate [      ]      @30@│ @07@"
  176.         Print "@3F@ │ @30@Sysop's Name [                    ]          Net Address                 @30@│ @07@"
  177.         Print "@3F@ │ @30@Software Used [               ]              [                         ] @30@│ @07@"
  178.         Print "@3F@ │ @30@City [                              ]        [                         ] @30@│ @07@"
  179.         Print "@3F@ │ @30@Province/State [               ]             [                         ] @30@│ @07@"
  180.         Print "@3F@ │ @30@Country [                         ]                                      @30@│ @07@"
  181.         Print "@3F@ │ @30@Comment 1 [                                                            ] @30@│ @07@"
  182.         Print "@3F@ │ @30@Comment 2 [                                                            ] @30@│ @07@"
  183.         Print "@3F@ │ @30@Comment 3 [                                                            ] @30@│ @07@"
  184.         Print "@3F@ │                                                                         @30@ │ @07@"
  185.         Print "@3F@ │                                                                         @30@ │ @07@"
  186.         Print "@3F@ │                                                                         @30@ │ @07@"
  187.         Print "@3F@ │                                                                          @30@│ @07@"
  188.         Print "@3F@ └@30@──────────────────────────────────────────────────────────────────────────┘ @07@"
  189.         t26_4475.s471 = NodeInfo.CallersName
  190.         Locate 8, 13
  191.         t26_4475.s0 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  192.         If t26_4475.s0 = "" Then
  193.         Else
  194.  1212     Locate 8, 65
  195.           t26_4475.s403 = Trim(InputMask("", "999", "", 1213417543))
  196.           If t26_4475.s403 = "" Then
  197.             t26_4475.s403 = "1"
  198.           End If
  199.  1296     Locate 9, 17
  200.           t26_4475.s406 = Trim(InputMask("", "999-999-9999", "", 1213417543))
  201.           If t26_4475.s406 = "" Then
  202.           Else
  203.  1370       Locate 9, 63
  204.             t26_4475.s30 = Trim(InputMask("", "999999", "", 1213417543))
  205.             If t26_4475.s30 = "" Then
  206.             Else
  207.  1442         Locate 10, 17
  208.               t26_4475.s451 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  209.               If t26_4475.s451 = "" Then
  210.               Else
  211.  1516           Locate 11, 18
  212.                 t26_4475.s436 = Trim(InputMask("", "XXXXXXXXXXXXXXX", "", 1213417543))
  213.                 If t26_4475.s436 = "" Then
  214.                 Else
  215.  1590             Locate 11, 49
  216.                   t26_4475.s328 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  217.                   Locate 12, 9
  218.                   t26_4475.s36 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  219.                   If t26_4475.s36 = "" Then
  220.                   Else
  221.  1706               Locate 12, 49
  222.                     t26_4475.s353 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  223.                     Locate 13, 19
  224.                     t26_4475.s421 = Trim(InputMask("", "XXXXXXXXXXXXXXX", "", 1213417543))
  225.                     If t26_4475.s421 = "" Then
  226.                     Else
  227.  1824                 Locate 13, 49
  228.                       t26_4475.s378 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  229.                       Locate 14, 12
  230.                       t26_4475.s303 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  231.                       If t26_4475.s303 = "" Then
  232.                         t26_4475.s303 = "Canada"
  233.                       End If
  234.  1952                 Locate 15, 14
  235.                       t26_4475.s66 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  236.                       Locate 16, 14
  237.                       t26_4475.s145 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  238.                       Locate 17, 14
  239.                       t26_4475.s224 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  240.                       Open ProgPath + "CATLIST.DAT" For Random As 1 Len = 501 '! This value should probably be replaced with a "SizeOf" expression
  241.                       i4465 = LOF(1)
  242.                       If LockFile(1, 1, i4465 + 1) = -1 Then
  243.                         Put 1, i4465 + 1, t26_4475 '! 501 bytes
  244.                         UnlockFile(1, 1, i4465 + 1)
  245.                         Close 1
  246.                       End If
  247.  2186                 Print DefColor
  248.                       o4976 = -1
  249.                     End If
  250.                   End If
  251.                 End If
  252.               End If
  253.             End If
  254.           End If
  255.         End If
  256.  2201
  257.       End Sub
  258.  
  259. '! Called 1 time
  260.       Sub Sub2204
  261.         Dim l65530 As Long
  262.         Dim i65534 As Integer
  263.  
  264.         Cls 
  265.         Print "@03@    BBS NAME" + Tab(24); "CITY" + Tab(63); "PHONE"
  266.         Print "@0C@══════════════════════════════════════════════════════════════════════════════"
  267.         Open ProgPath + "CATLIST.DAT" For Random As 1 Len = 501 '! This value should probably be replaced with a "SizeOf" expression
  268.         i4465 = LOF(1)
  269.         If i4465 <= 0 Then
  270.           Print "@0F@ SORRY THERE ARE NO RECORDS"
  271.           Close 1
  272.           WaitEnter 
  273.         Else
  274.  2335
  275.  2359     For i4463 = 1 To i4465 Step 1
  276.             Get 1, i4463, t26_4475 '! 501 bytes
  277.             Print "@0C@[@0F@"; i4463; "@0C@]@0E@ "; t26_4475.s0; Tab(36); t26_4475.s36; Tab(67); t26_4475.s406
  278.           Next
  279.  2520     Close 1
  280.           Print
  281.           Print "@0C@VIEW WHICH RECORD (enter to quit)";
  282.           Input i4467
  283.           If i4467 > i4465 Then
  284.             Print "@0F@ SORRY THERE IS NO RECORD "; i4467
  285.             WaitEnter 
  286.           Else
  287.  2586       If i4467 <= 0 Then
  288.               WaitEnter 
  289.             Else
  290.  2609         Open ProgPath + "CATLIST.DAT" For Random As 1 Len = 501 '! This value should probably be replaced with a "SizeOf" expression
  291.               Get 1, i4467, t26_4475 '! 501 bytes
  292.               Close 1
  293.               Cls 
  294.               MorePrompt(0)
  295.               Print
  296.               Print "@3F@ ┌──────────────────────────────────────────────────────────────────────────@30@┐ @07@"
  297.               Print "@3F@ │ @30@BBS Name [                              ]    Number of Nodes [   ]       @30@│ @07@"
  298.               Print "@3F@ │ @30@Phone Number [            ]                  Max Baud Rate [      ]      @30@│ @07@"
  299.               Print "@3F@ │ @30@Sysop's Name [                    ]          Net Address                 @30@│ @07@"
  300.               Print "@3F@ │ @30@Software Used [               ]              [                         ] @30@│ @07@"
  301.               Print "@3F@ │ @30@City [                              ]        [                         ] @30@│ @07@"
  302.               Print "@3F@ │ @30@Province/State [               ]             [                         ] @30@│ @07@"
  303.               Print "@3F@ │ @30@Country [                         ]                                      @30@│ @07@"
  304.               Print "@3F@ │ @30@Comment 1 [                                                            ] @30@│ @07@"
  305.               Print "@3F@ │ @30@Comment 2 [                                                            ] @30@│ @07@"
  306.               Print "@3F@ │ @30@Comment 3 [                                                            ] @30@│ @07@"
  307.               Print "@3F@ │                                                                         @30@ │ @07@"
  308.               Print "@3F@ │                                                                         @30@ │ @07@"
  309.               Print "@3F@ │                                                                         @30@ │ @07@"
  310.               Print "@3F@ │ @30@This Record entered by                                                   @30@│ @07@"
  311.               Print "@3F@ └@30@──────────────────────────────────────────────────────────────────────────┘ @07@"
  312.               Locate 3, 14
  313.               Print "@3F@"; t26_4475.s0
  314.               Locate 4, 18
  315.               Print t26_4475.s406
  316.               Locate 5, 18
  317.               Print t26_4475.s451
  318.               Locate 6, 19
  319.               Print t26_4475.s436
  320.               Locate 7, 10
  321.               Print t26_4475.s36
  322.               Locate 8, 20
  323.               Print t26_4475.s421
  324.               Locate 3, 66
  325.               Print t26_4475.s403
  326.               Locate 4, 64
  327.               Print t26_4475.s30
  328.               Locate 6, 50
  329.               Print t26_4475.s328
  330.               Locate 7, 50
  331.               Print t26_4475.s353
  332.               Locate 8, 50
  333.               Print t26_4475.s378
  334.               Locate 10, 15
  335.               Print t26_4475.s66
  336.               Locate 9, 13
  337.               Print t26_4475.s303
  338.               Locate 11, 15
  339.               Print t26_4475.s145
  340.               Locate 12, 15
  341.               Print t26_4475.s224
  342.               Locate 16, 27
  343.               Print t26_4475.s471
  344.               Locate 17, 1
  345.               WaitEnter 
  346.             End If
  347.           End If
  348.         End If
  349.  3169
  350.       End Sub
  351.  
  352. '! Called 1 time
  353.       Sub Sub3172
  354.         Dim l65524 As Long
  355.         Dim i65528 As Integer
  356.         Dim l65530 As Long
  357.         Dim i65534 As Integer
  358.  
  359.         Cls 
  360.         Print "@03@  BBS NAME" + Tab(28); "CITY" + Tab(52); "PHONE"
  361.         Print "@0C@══════════════════════════════════════════════════════════════════════════════"
  362.         Open ProgPath + "CATLIST.DAT" For Random As 1 Len = 501 '! This value should probably be replaced with a "SizeOf" expression
  363.         i4465 = LOF(1)
  364.         If i4465 <= 0 Then
  365.           Print "@0F@ SORRY THERE ARE NO RECORDS"
  366.           Close 1
  367.           WaitEnter 
  368.         Else
  369.  3303
  370.  3327     For i4463 = 1 To i4465 Step 1
  371.             Get 1, i4463, t26_4475 '! 501 bytes
  372.             Print "@0C@[@0F@"; i4463; "@0C@]@0E@ "; t26_4475.s0; Tab(31); t26_4475.s36; Tab(53); t26_4475.s406
  373.           Next
  374.  3488     Close 1
  375.           i4471 = 1
  376.           Print
  377.           Print "@0F@DELETE WHICH RECORD? (ENTER TO QUIT) ";
  378.           Input i4473
  379.           If i4473 <= 0 Then
  380.           Else
  381.  3538       If i4473 > i4465 Then
  382.               Print "@0F@ SORRY THERE IS NO RECORD "; i4473
  383.               WaitEnter 
  384.             Else
  385.  3581         Open ProgPath + "CATLIST.DAT" For Random As 1 Len = 501 '! This value should probably be replaced with a "SizeOf" expression
  386.               Get 1, i4473, t26_4475 '! 501 bytes
  387.               Close 1
  388.               If t26_4475.s471 = Trim(NodeInfo.CallersName) Or NodeInfo.Security = "SYSOP" Or t26_4475.s451 = Trim(NodeInfo.CallersName) Then
  389.                 Print
  390.                 If Not InputYesNo("@0C@ARE YOU SURE? (Y/N) @0E@", 0) Then
  391.                   GoTo 4079
  392.                 End If
  393.  3728           Open ProgPath + "CATLIST.DAT" For Random As 1 Len = 501 '! This value should probably be replaced with a "SizeOf" expression
  394.                 Open ProgPath + "CATLIST.SAV" For Random As 2 Len = 501 '! This value should probably be replaced with a "SizeOf" expression
  395.                 i4465 = LOF(1)
  396.                 If LockFile(1, 1, i4465) = -1 Then
  397.  3837             For i4463 = 1 To LOF(1) Step 1
  398.                     Get 1, i4463, t26_4475 '! 501 bytes
  399.                     If i4473 = i4463 Then
  400.                       i4471 = i4471 - 1
  401.                     Else
  402.  3941                 Put 2, i4471, t26_4475 '! 501 bytes
  403.                     End If
  404.  3957               i4471 = i4471 + 1
  405.                   Next
  406.  3994             UnlockFile(1, 1, i4465)
  407.                 End If
  408.  4007           Close 1
  409.                 Close 2
  410.                 Kill ProgPath + "CATLIST.DAT"
  411.                 Name ProgPath + "CATLIST.SAV" As ProgPath + "CATLIST.DAT"
  412.                 o4976 = -1
  413.               Else
  414.  4067           Print "SORRY YOU CAN'T DELETE THIS RECORD"
  415.                 WaitEnter 
  416.               End If
  417.             End If
  418.           End If
  419.         End If
  420.  4079
  421.       End Sub
  422.  
  423. '! Called 1 time
  424.       Sub Sub4082
  425.         Dim l65530 As Long
  426.         Dim i65534 As Integer
  427.  
  428.         Cls 
  429.         Print "@03@    BBS NAME" + Tab(24); "CITY" + Tab(63); "PHONE"
  430.         Print "@0C@══════════════════════════════════════════════════════════════════════════════"
  431.         Open ProgPath + "CATLIST.DAT" For Random As 1 Len = 501 '! This value should probably be replaced with a "SizeOf" expression
  432.         i4465 = LOF(1)
  433.         If i4465 <= 0 Then
  434.           Print "@0F@ SORRY THERE ARE NO RECORDS"
  435.           Close 1
  436.           WaitEnter 
  437.         Else
  438.  4213
  439.  4237     For i4463 = 1 To i4465 Step 1
  440.             Get 1, i4463, t26_4475 '! 501 bytes
  441.             Print "@0C@[@0F@"; i4463; "@0C@]@0E@ "; t26_4475.s0; Tab(36); t26_4475.s36; Tab(67); t26_4475.s406
  442.           Next
  443.  4398     Close 1
  444.           WaitEnter 
  445.         End If
  446.  4406
  447.       End Sub
  448.  
  449. '! Called 1 time
  450.       Sub Sub4409
  451.         Dim l65530 As Long
  452.         Dim i65534 As Integer
  453.  
  454.         Cls 
  455.         Print "@03@    BBS NAME" + Tab(24); "CITY" + Tab(63); "PHONE"
  456.         Print "@0C@══════════════════════════════════════════════════════════════════════════════"
  457.         Open ProgPath + "CATLIST.DAT" For Random As 1 Len = 501 '! This value should probably be replaced with a "SizeOf" expression
  458.         i4465 = LOF(1)
  459.         If i4465 <= 0 Then
  460.           Print "@0F@ SORRY THERE ARE NO RECORDS"
  461.           Close 1
  462.           WaitEnter 
  463.         Else
  464.  4540
  465.  4564     For i4463 = 1 To i4465 Step 1
  466.             Get 1, i4463, t26_4475 '! 501 bytes
  467.             Print "@0C@[@0F@"; i4463; "@0C@]@0E@ "; t26_4475.s0; Tab(36); t26_4475.s36; Tab(67); t26_4475.s406
  468.           Next
  469.  4725     Close 1
  470.           Print "@0C@EDIT WHICH RECORD (enter to quit)";
  471.           Input i4467
  472.           If i4467 > i4465 Then
  473.             Print "@0F@ SORRY THERE IS NO RECORD "; i4467
  474.             WaitEnter 
  475.           Else
  476.  4789       If i4467 <= 0 Then
  477.               WaitEnter 
  478.             Else
  479.  4812         Open ProgPath + "CATLIST.DAT" For Random As 1 Len = 501 '! This value should probably be replaced with a "SizeOf" expression
  480.               Get 1, i4467, t26_4475 '! 501 bytes
  481.               Close 1
  482.               Do
  483.  4859           If (t26_4475.s471 = Trim(NodeInfo.CallersName) Or NodeInfo.Security = "SYSOP" Or t26_4475.s451 = Trim(NodeInfo.CallersName)) = 0 Then GoTo 6899
  484.                 Cls 
  485.                 MorePrompt(0)
  486.                 Print
  487.                 Print "@3F@ ┌──────────────────────────────────────────────────────────────────────────@30@┐ @07@"
  488.                 Print "@3F@ │ @30@BBS Name (1)[                              ] Number of Nodes (2)[   ]    @30@│ @07@"
  489.                 Print "@3F@ │ @30@Phone Number (3)[            ]               Max Baud Rate (4)[      ]   @30@│ @07@"
  490.                 Print "@3F@ │ @30@Sysop's Name (5)[                    ]       Net Address                 @30@│ @07@"
  491.                 Print "@3F@ │ @30@Software Used (6)[               ]        (7)[                         ] @30@│ @07@"
  492.                 Print "@3F@ │ @30@City (8)[                              ]  (9)[                         ] @30@│ @07@"
  493.                 Print "@3F@ │ @30@Province/State (10)[               ]     (11)[                         ] @30@│ @07@"
  494.                 Print "@3F@ │ @30@Country (12)[                         ]                                  @30@│ @07@"
  495.                 Print "@3F@ │ @30@Comment(13)[                                                            ]@30@│ @07@"
  496.                 Print "@3F@ │ @30@Comment(14)[                                                            ]@30@│ @07@"
  497.                 Print "@3F@ │ @30@Comment(15)[                                                            ]@30@│ @07@"
  498.                 Print "@3F@ │                                                                         @30@ │ @07@"
  499.                 Print "@3F@ │                                                                         @30@ │ @07@"
  500.                 Print "@3F@ │                                                                         @30@ │ @07@"
  501.                 Print "@3F@ │ @30@This Record entered by                                                   @30@│ @07@"
  502.                 Print "@3F@ └@30@──────────────────────────────────────────────────────────────────────────┘ @07@"
  503.                 Locate 3, 17
  504.                 Print "@3F@"; t26_4475.s0
  505.                 Locate 4, 21
  506.                 Print t26_4475.s406
  507.                 Locate 5, 21
  508.                 Print t26_4475.s451
  509.                 Locate 6, 22
  510.                 Print t26_4475.s436
  511.                 Locate 7, 13
  512.                 Print t26_4475.s36
  513.                 Locate 8, 24
  514.                 Print t26_4475.s421
  515.                 Locate 3, 69
  516.                 Print t26_4475.s403
  517.                 Locate 4, 67
  518.                 Print t26_4475.s30
  519.                 Locate 6, 50
  520.                 Print t26_4475.s328
  521.                 Locate 7, 50
  522.                 Print t26_4475.s353
  523.                 Locate 8, 50
  524.                 Print t26_4475.s378
  525.                 Locate 10, 16
  526.                 Print t26_4475.s66
  527.                 Locate 9, 17
  528.                 Print t26_4475.s303
  529.                 Locate 11, 16
  530.                 Print t26_4475.s145
  531.                 Locate 12, 16
  532.                 Print t26_4475.s224
  533.                 Locate 16, 27
  534.                 Print t26_4475.s471
  535.                 Locate 19, 1
  536.                 Print DefColor
  537.                 ClrEOL 
  538.                 Print "@0F@EDIT WHICH ENTRY? 1-16 (0 TO QUIT / 16 TO QUIT & SAVE)";
  539.                 Input i4469
  540.                 If i4469 < 0 Or i4469 > 16 Then
  541.                   Print "SORRY 0-16 ONLY"
  542.                 End If
  543.  5504           If i4469 = 0 Then
  544.                   GoTo 6924
  545.                 End If
  546.  5524           If i4469 = 1 Then
  547.                   Locate 3, 16
  548.                   t26_4475.s0 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  549.                   Locate 19, 1
  550.                 End If
  551.  5585           If i4469 = 2 Then
  552.                   Locate 3, 68
  553.                   t26_4475.s403 = Trim(InputMask("", "999", "", 1213417543))
  554.                   If t26_4475.s403 = "" Then
  555.                     t26_4475.s403 = "1"
  556.                   End If
  557.  5684             Locate 19, 1
  558.                 End If
  559.  5691           If i4469 = 3 Then
  560.                   Locate 4, 20
  561.                   t26_4475.s406 = Trim(InputMask("", "999-999-9999", "", 1213417543))
  562.                   Locate 19, 1
  563.                   If t26_4475.s406 = "" Then
  564.                     GoTo 6924
  565.                   End If
  566.                 End If
  567.  5787           If i4469 = 4 Then
  568.                   Locate 4, 66
  569.                   t26_4475.s30 = Trim(InputMask("", "999999", "", 1213417543))
  570.                   If t26_4475.s30 = "" Then
  571.                     GoTo 6924
  572.                   End If
  573.  5874             Locate 19, 1
  574.                 End If
  575.  5881           If i4469 = 5 Then
  576.                   Locate 5, 20
  577.                   t26_4475.s451 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  578.                   If t26_4475.s451 = "" Then
  579.                     GoTo 6924
  580.                   End If
  581.  5970             Locate 19, 1
  582.                 End If
  583.  5977           If i4469 = 6 Then
  584.                   Locate 6, 21
  585.                   t26_4475.s436 = Trim(InputMask("", "XXXXXXXXXXXXXXX", "", 1213417543))
  586.                   If t26_4475.s436 = "" Then
  587.                     GoTo 6924
  588.                   End If
  589.  6066             Locate 19, 1
  590.                 End If
  591.  6073           If i4469 = 7 Then
  592.                   Locate 6, 49
  593.                   t26_4475.s328 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  594.                   Locate 19, 1
  595.                 End If
  596.  6139           If i4469 = 8 Then
  597.                   Locate 7, 12
  598.                   t26_4475.s36 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  599.                   If t26_4475.s36 = "" Then
  600.                     GoTo 6924
  601.                   End If
  602.  6226             Locate 19, 1
  603.                 End If
  604.  6233           If i4469 = 9 Then
  605.                   Locate 7, 49
  606.                   t26_4475.s353 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  607.                   Locate 19, 1
  608.                 End If
  609.  6299           If i4469 = 10 Then
  610.                   Locate 8, 23
  611.                   t26_4475.s421 = Trim(InputMask("", "XXXXXXXXXXXXXXX", "", 1213417543))
  612.                   If t26_4475.s421 = "" Then
  613.                     GoTo 6924
  614.                   End If
  615.  6388             Locate 19, 1
  616.                 End If
  617.  6395           If i4469 = 11 Then
  618.                   Locate 8, 49
  619.                   t26_4475.s378 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  620.                   Locate 19, 1
  621.                 End If
  622.  6461           If i4469 = 12 Then
  623.                   Locate 9, 16
  624.                   t26_4475.s303 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  625.                   If t26_4475.s303 = "" Then
  626.                     t26_4475.s303 = "Canada"
  627.                   End If
  628.  6560             Locate 19, 1
  629.                 End If
  630.  6567           If i4469 = 13 Then
  631.                   Locate 10, 15
  632.                   t26_4475.s66 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  633.                   Locate 19, 1
  634.                 End If
  635.  6632           If i4469 = 14 Then
  636.                   Locate 11, 15
  637.                   t26_4475.s145 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  638.                   Locate 19, 1
  639.                 End If
  640.  6697           If i4469 = 15 Then
  641.                   Locate 12, 15
  642.                   t26_4475.s224 = Trim(InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543))
  643.                   Locate 19, 1
  644.                 End If
  645.  6762           If i4469 = 16 Then
  646.                   Open ProgPath + "CATLIST.DAT" For Random As 1 Len = 501 '! This value should probably be replaced with a "SizeOf" expression
  647.                   If LockFile(1, i4467, i4467) = -1 Then
  648.                     Put 1, i4467, t26_4475 '! 501 bytes
  649.                     UnlockFile(1, i4467, i4467)
  650.                   End If
  651.  6861             Close 1
  652.                   o4976 = -1
  653.                   GoTo 6924
  654.                 End If
  655.  6880           Print DefColor
  656.               Loop
  657.               GoTo 6924
  658.  6899         Print "SORRY YOU CAN'T EDIT THIS RECORD."
  659.               WaitEnter 
  660.               Print DefColor
  661.               GoTo 6924
  662.             End If
  663.           End If
  664.         End If
  665.  6924
  666.       End Sub
  667.  
  668. '! Called 1 time
  669.       Sub Sub6927
  670.         Dim l65530 As Long
  671.         Dim i65534 As Integer
  672.  
  673.         If o4976 = -1 Then
  674.           Open ProgPath + "CATLIST.DAT" For Random As 1 Len = 501 '! This value should probably be replaced with a "SizeOf" expression
  675.           Open ProgPath + "CATLIST.TMP" For Output As 2
  676.           Print #2, "@CLS@"
  677.           Print #2, "@00@              @03@▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@00@"
  678.           Print #2, "@00@              @13@█@3B@┌─────────────────────────────────────────────@30@┐@13@█ @00@"
  679.           Print #2, "@00@              @13@█@3B@│  @3E@CATList v1.0 @3F@- BBSLister for @3B@Wildcat! v4.1 @30@│@13@█ @00@"
  680.           Print #2, "@00@              @13@█@3B@└@30@─────────────────────────────────────────────┘@13@█ @00@"
  681.           Print #2, "@00@              @03@▀@13@▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ @00@"
  682.           Print #2, "@00@" + Tab(22); "@0C@ (C)OPYRIGHT 1996 BY PAUL ELSON"
  683.           Print #2,
  684.           Print #2, "@03@    BBS NAME" + Tab(20); "CITY" + Tab(23); "PHONE"
  685.           Print #2, "@0C@══════════════════════════════════════════════════════════════════════════════"
  686.           i4465 = LOF(1)
  687.           If i4465 <= 0 Then
  688.             Close 1
  689.             Close 2
  690.             GoTo 7405
  691.           End If
  692.  7178
  693.  7202     For i4463 = 1 To i4465 Step 1
  694.             Get 1, i4463, t26_4475 '! 501 bytes
  695.             Print #2, "@0C@[@0F@"; i4463; "@0C@]@0E@ "; t26_4475.s0; Tab(48); t26_4475.s36; Tab(74); t26_4475.s406
  696.           Next
  697.  7366     Print #2,
  698.           Close 1
  699.           Close 2
  700.         End If
  701.  7379   CopyFile(ProgPath + "CATLIST.TMP", s4977)
  702.         ActivityLog "*** EXITED CATLIST AT @TIME@ ***"
  703.  7405
  704.       End Sub
  705.  
  706. '! Called 1 time
  707.       Sub Sub7408
  708.         Cls 
  709.         Print "@00@              @03@▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@00@"
  710.         Print "@00@              @13@█@3B@┌─────────────────────────────────────────────@30@┐@13@█ @00@"
  711.         Print "@00@              @13@█@3B@│  @3E@CATList v1.0 @3F@- BBSLister for @3B@Wildcat! v4.1 @30@│@13@█ @00@"
  712.         Print "@00@              @13@█@3B@└@30@─────────────────────────────────────────────┘@13@█ @00@"
  713.         Print "@00@              @03@▀@13@▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ @00@"
  714.         Print
  715.         Print "@0E@ Please note that is program is still under development. If you encounter"
  716.         Print "any problems, please inform your sysop."
  717.         Print
  718.         Print "All security locks are in place. Only the SYSOP, the person who enters the data"
  719.         Print "or the SYSOP of the BBS in the record can edit or delete that record."
  720.         Print
  721.         Print " I love to here from others about my programs, either bad or good."
  722.         Print "If you find a problem or would like something added or whatnot, drop"
  723.         Print "me a note! (even just to say hi!). I can be reached at 1:255/23@fidonet.org"
  724.         Print "or e-mail me at pelson@mi.net. Or even better call the ASTRON BBS"
  725.         Print "506-652-8999 (V.FC),652-8996 (V.34),652-9074 (V.34),652-8989 (V.34),"
  726.         Print "636-9894 (V.32b),658-6248 (V.32b)."
  727.         Print
  728.         Print "@0F@ Other programs by Paul Elson."
  729.         Print "       Fastlog v1.45 - Fastlogin Utility, bypass hello screens but checks"
  730.         Print "                       user for new mail,bulletins & newsletter. Also includes"
  731.         Print "                       a password change option *FREEWARE*"
  732.         Print "       PCHANGE 1.01  - Force users to change thier password after so many calls"
  733.         Print "                       *FREEWARE*"
  734.         Print "       CATime v1.04  - Time bank for wildcat *SHAREWARE*"
  735.         Print "       IDrenum 1.1   - Sysop util. to renumber user ids *FREEWARE*"
  736.         Print "       SCMESS 1.1    - Sysop util. to import messages from Chris Halls scrabble"
  737.         Print "                       door. *FREEWARE*"
  738.         Print "       X-Call 1.0    - Last callers list *SHAREWARE*"
  739.         Print
  740.         WaitEnter 
  741.       End Sub
  742.  
  743. '! Called 1 time
  744.       Sub Sub7670
  745.         Dim l65530 As Long
  746.         Dim i65534 As Integer
  747.  
  748.         GetUser(ur5007, NodeInfo.CallersName)
  749.         Print DefColor
  750.         Cls 
  751.         Print "@00@              @03@▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@00@"
  752.         Print "@00@              @13@█@3B@┌─────────────────────────────────────────────@30@┐@13@█ @00@"
  753.         Print "@00@              @13@█@3B@│  @3E@CATList v1.0 @3F@- BBSLister for @3B@Wildcat! v4.1 @30@│@13@█ @00@"
  754.         Print "@00@              @13@█@3B@└@30@─────────────────────────────────────────────┘@13@█ @00@"
  755.         Print "@00@              @03@▀@13@▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ @00@"
  756.         Print
  757.         Print "@00@                           @03@▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@00@"
  758.         Print "@00@                           @03@█@3B@┌─────────────────@30@┐@03@█@13@ @00@"
  759.         Print "@00@                           @03@█@3B@│  @3E@0@3F@ Quit         @30@│@03@█@13@ @00@"
  760.         Print "@00@                           @03@█@3B@│  @3E@1@3F@ Short List   @30@│@03@█@13@ @00@"
  761.         Print "@00@                           @03@█@3B@│  @3E@2@3F@ Long List    @30@│@03@█@13@ @00@"
  762.         Print "@00@                           @03@█@3B@└@30@─────────────────┘@03@█@13@ @00@"
  763.         Print "@00@                           @03@▀@13@▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ @0E@@00@"
  764.         l4993 = InputNumber(Tab(26) + "WHICH LIST? (0 TO QUIT)", 0, 2)
  765.         If l4993 = 0 Then
  766.         Else
  767.  7859     If l4993 = 1 Then
  768.             s5657 = Str(ur5007.UserId) + "SHRT.TXT"
  769.           End If
  770.  7897     If l4993 = 2 Then
  771.             s5657 = Str(ur5007.UserId) + "LONG.TXT"
  772.           End If
  773.  7935     Open ProgPath + "CATLIST.DAT" For Random As 1 Len = 501 '! This value should probably be replaced with a "SizeOf" expression
  774.           Open ProgPath + s5657 For Output As 2
  775.           i4465 = LOF(1)
  776.  8019     For i4463 = 1 To i4465 Step 1
  777.             Get 1, i4463, t26_4475 '! 501 bytes
  778.             If l4993 = 1 Then
  779.               Print #2, "["; i4463; "] "; t26_4475.s0; Tab(38); t26_4475.s36; Tab(64); t26_4475.s406
  780.             Else
  781.  8181         Print #2, "BBS NAME: "; t26_4475.s0; Tab(50); "CITY: "; t26_4475.s36
  782.               Print #2, "SYSOPS NAME: "; t26_4475.s451; Tab(50); "#OF NODES: "; t26_4475.s403
  783.               Print #2, "PHONE #: "; t26_4475.s406; Tab(50); "SOFTWARE: "; t26_4475.s436
  784.               Print #2, "NET ADDRESS: "; t26_4475.s328; Tab(40); t26_4475.s353; Tab(66); t26_4475.s378
  785.               Print #2, "COUNTRY: "; t26_4475.s303; Tab(50); "PROV/STATE: "; t26_4475.s421
  786.               Print #2, "COMMENTS:"
  787.               Print #2, t26_4475.s66
  788.               Print #2, t26_4475.s145
  789.               Print #2, t26_4475.s224
  790.               Print #2, "--------------------------------------------------------------------------"
  791.             End If
  792.  8515     Next
  793.  8538     Print #2,
  794.           Print #2, "THIS LIST MADE BY CATLIST V1.0 (C)1996 BY PAUL ELSON"
  795.           Close 1
  796.           Close 2
  797.           If SendFile(ProgPath + s5657, 1213417543) = -1 Then
  798.           Else
  799.  8595       Print "DOWNLOAD ERROR, TRY AGAIN, OR ASK THE SYSOP FOR HELP."
  800.             WaitEnter 
  801.           End If
  802.  8607     Kill ProgPath + s5657 + ".CAT"
  803.         End If
  804.  8626
  805.       End Sub
  806.  
  807. '! Called 1 time
  808.       Function Func8629(l65534 As Long, l65532 As Long) As Integer
  809.         Dim l65467 As Long
  810.         Dim i65471 As Integer
  811.         Dim l65473 As Long
  812.         Dim i65477 As Integer
  813.         Dim s65483 As String*7
  814.         Dim s65490 As String*30
  815.         Dim l65520 As Long
  816.         Dim l65524 As Long
  817.         Dim i65528 As Integer
  818.  
  819.         s65490 = MakeWild.BBSName
  820.         s65490 = Trim(s65490)
  821.         l65524 = 0
  822.  8703   For i65528 = 1 To Len(s65490) Step 1
  823.           l65524 = l65524 + Asc(Mid(s65490, i65528, 1))
  824.         Next
  825.  8807   s65483 = MakeWild.RegString
  826.         s65483 = Trim(s65483)
  827.         l65520 = 0
  828.  8873   For i65528 = 1 To Len(s65483) Step 1
  829.           l65520 = l65520 + Asc(Mid(s65483, i65528, 1))
  830.         Next
  831.  8977   l65520 = l65520 + l65524
  832.         l65520 = l65520 * 7
  833.         l65520 = l65520 * l65532
  834.         l65520 = l65520 + l65532
  835.         l65520 = l65520 / 3
  836.         If l65520 = l65534 Then
  837.           Func8629 = - 1
  838.         Else
  839.  9100     Func8629 = 0
  840.         End If
  841.  9106
  842.       End Function
  843.